/**
 * @description: 充值记录入参
 */
import { BasicPageParams } from '@/api/model/baseModel'
import { commissionSettlementList } from '@/api/finance'

export interface FinanceBaseParams {
  status?: number
  type?: number
  withdrawalType?: number
  withdrawalStatus?: number
  startDate?: string
  endDate?: string
  orderNo?: string
}

export interface CommissionFundModel {
  availableAmount: number
  withdrawalAmount: number
  frozenFund: number
  totalAmount: number
}

export interface WithdrawalListParams extends BasicPageParams {
  orderNo?: string
  withdrawalStatus?: number
  startDate?: string
  endDate?: string
  merchantType?: 0 | 1
}

export interface WithdrawalListModel {
  id: number
  storeId: number
  orderNo: string
  tradeNo: string
  withdrawalType: number
  withdrawalAmount: number
  smsCount: number
  createdAt: string
  withdrawalRemark: string
  withdrawalStatus: number
  bankAccountType: number
  accountBank: string
  accountName: string
  bankBranchName: string
  accountNumber: string
  failMsg: string
  certificateUrls: string[]
  storeName: string
}

export interface WithdrawParams {
  withdrawalType: 6 //提现类型：6-平台提现；
  withdrawalAmount: number //提现金额
  withdrawalRemark: string //备注
}

export interface CommissionSettlementListParams extends BasicPageParams {
  storeId?: number //店铺ID
  storeName?: string //店铺名称
  orderNo?: string
  payNo?: string
  startDate?: string
  endDate?: string
  orderChannel?: 0 | 2 //推广方式：0-自然流量；2-回流流量
  clearingStatus?: 0 | 1 //佣金状态:0-已结算；1-取消结算
}

export interface CommissionSettlementListModel {
  orderId: string
  storeId: number
  storeName: string
  orderNo: string
  createdAt: string
  orderChannel: number
  productId: string
  productTitle: string
  productNum: string
  productImgUrl: string
  productType: number
  comboName: string
  productSkuId: number
  productSku: string
  productCount: number
  productPrice: number
  totalPay: number
  payTime: string
  payNo: string
  clearingAmount: number
  clearingStatus: number
  commissionsRate: number
}

export interface PaymentAccountListModel {
  subMchid: string
}

export interface AccountWithdrawalSaveParams {
  withdrawalType: number
  withdrawalWay: number
  withdrawalAmount: number
  withdrawalRemark: string
  accountBank: string
  accountName: string
  bankBranchName: string
  accountNumber: string
  certificateUrls: string[]
  storeId: number
}
